vector<int> twoSum(vector<int> &nums, int target) {
	unordered_map<int, int> hash;
	for (auto i = 0; i < nums.size(); i++) {
		auto t = hash.find(target - nums[i]);
		if (t != hash.end())
			return {t->second, i};
		hash[nums[i]] = i;
	}
	return {};
}